package controllers;

import java.util.ArrayList;

import javax.persistence.*;

import models.*;
import play.data.Form;
import play.mvc.*;
import views.html.index;

public class Produits extends Controller {

	static play.data.Form<Produit> produitForm = form(Produit.class);

	public static Result produits(Long id) {
		return ok(
				index.render(id,Produit.all(), produitForm,Type.all())
				);
	}

	public static Result add(Long id) {
		Form<Produit> filledForm = produitForm.bindFromRequest();

		if(filledForm.hasErrors()) {
			flash("error","OOOooops!!! Remplir les champs manquants.");
			return badRequest(
					index.render(id,Produit.all(), filledForm,Type.all())
					);
		}else { // <--- on n'enregistre que si tout va bien
			final Produit _produit = produitForm.bindFromRequest().get();

			if(allProduit(_produit.label)==null){
				_produit.create(_produit,id);
				flash("success", "Le produit "
						+ filledForm.get().label + " has been created");				
			}
			else{
				flash("error","OOOooops!!! Le produit ### "
						+ filledForm.get().label + " ### est déjà contenu dans la table");
			}
			return redirect(routes.Produits.produits(id));  
		}
	}

	public static Produit allProduit(String label) {
		// TODO Auto-generated method stub
		return Produit.findNom.where().eq("label",label).findIterate().next();
	}

	public static Result deleteProduit(Long id) {
		Fiche.delete(id);
		Produit.delete(id);
		return redirect(routes.Produits.produits(id));  
	}
}
